package com.hl.domain;

import java.util.List;
import java.util.Date;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 收款记录对象 payment_record
 * 
 * @author ruoyi
 * @date 2025-08-08
 */
public class PaymentRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Integer id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderId;

    /** 支付方式（从order_main.payment_method获取） */
    @Excel(name = "支付方式", readConverterExp = "从=order_main.payment_method获取")
    private String paymentMethod;

    /** 订单创建时间（从order_main.create_time获取） */
    @Excel(name = "订单创建时间", readConverterExp = "从=order_main.create_time获取")
    private Date orderCreateTime;

    /** 支付时间（从order_main.payment_time获取） */
    @Excel(name = "支付时间", readConverterExp = "从=order_main.payment_time获取")
    private Date paymentTime;

    /** 付款金额（单位：元） */
    @Excel(name = "订单金额")
    private java.math.BigDecimal paymentAmount;

    /** 客户端 */
    @Excel(name = "客户端")
    private String clientSource;

    /** 付款状态 */
    @Excel(name = "付款状态")
    private String paymentStatus;

    /** 店铺名称（从order_product.shop_name间接关联获取） */
    @Excel(name = "店铺名称", readConverterExp = "从=order_product.shop_name间接关联获取")
    private String shopName;

    /** 第三方支付流水号 */
    @Excel(name = "第三方支付流水号")
    private String thirdPartyTransactionId;

    /** 商品订单信息 */
    private List<OrderMain> orderMainList;

    public void setId(Integer id) 
    {
        this.id = id;
    }

    public Integer getId() 
    {
        return id;
    }

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setPaymentMethod(String paymentMethod) 
    {
        this.paymentMethod = paymentMethod;
    }

    public String getPaymentMethod() 
    {
        return paymentMethod;
    }

    public void setOrderCreateTime(Date orderCreateTime) 
    {
        this.orderCreateTime = orderCreateTime;
    }

    public Date getOrderCreateTime() 
    {
        return orderCreateTime;
    }

    public void setPaymentTime(Date paymentTime) 
    {
        this.paymentTime = paymentTime;
    }

    public Date getPaymentTime() 
    {
        return paymentTime;
    }

    public void setPaymentAmount(java.math.BigDecimal paymentAmount) 
    {
        this.paymentAmount = paymentAmount;
    }

    public java.math.BigDecimal getPaymentAmount() 
    {
        return paymentAmount;
    }

    public void setClientSource(String clientSource) 
    {
        this.clientSource = clientSource;
    }

    public String getClientSource() 
    {
        return clientSource;
    }

    public void setPaymentStatus(String paymentStatus) 
    {
        this.paymentStatus = paymentStatus;
    }

    public String getPaymentStatus() 
    {
        return paymentStatus;
    }

    public void setShopName(String shopName) 
    {
        this.shopName = shopName;
    }

    public String getShopName() 
    {
        return shopName;
    }

    public void setThirdPartyTransactionId(String thirdPartyTransactionId) 
    {
        this.thirdPartyTransactionId = thirdPartyTransactionId;
    }

    public String getThirdPartyTransactionId() 
    {
        return thirdPartyTransactionId;
    }

    public List<OrderMain> getOrderMainList()
    {
        return orderMainList;
    }

    public void setOrderMainList(List<OrderMain> orderMainList)
    {
        this.orderMainList = orderMainList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("paymentMethod", getPaymentMethod())
            .append("orderCreateTime", getOrderCreateTime())
            .append("paymentTime", getPaymentTime())
            .append("paymentAmount", getPaymentAmount())
            .append("clientSource", getClientSource())
            .append("paymentStatus", getPaymentStatus())
            .append("shopName", getShopName())
            .append("thirdPartyTransactionId", getThirdPartyTransactionId())
            .append("orderMainList", getOrderMainList())
            .toString();
    }
}
